'Weak Dependency Graph [60.0]'
------------------------------
Answer:           YES(?,O(n^1))
Input Problem:    innermost runtime-complexity with respect to
  Rules:
    {  rev(ls) -> r1(ls, empty())
     , r1(empty(), a) -> a
     , r1(cons(x, k), a) -> r1(k, cons(x, a))}

Details:         
  We have computed the following set of weak (innermost) dependency pairs:
   {  rev^#(ls) -> c_0(r1^#(ls, empty()))
    , r1^#(empty(), a) -> c_1()
    , r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
  
  The usable rules are:
   {}
  
  The estimated dependency graph contains the following edges:
   {rev^#(ls) -> c_0(r1^#(ls, empty()))}
     ==> {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
   {rev^#(ls) -> c_0(r1^#(ls, empty()))}
     ==> {r1^#(empty(), a) -> c_1()}
   {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
     ==> {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
   {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
     ==> {r1^#(empty(), a) -> c_1()}
  
  We consider the following path(s):
   1) {  rev^#(ls) -> c_0(r1^#(ls, empty()))
       , r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           rev(x1) = [0] x1 + [0]
           r1(x1, x2) = [0] x1 + [0] x2 + [0]
           empty() = [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           rev^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           r1^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
            Weak Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
          
          Details:         
            'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
            ------------------------------------------------------------------------------------------
            Answer:           YES(?,O(n^1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
              Weak Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
            
            Details:         
              The problem was solved by processor 'combine':
              'combine'
              ---------
              Answer:           YES(?,O(n^1))
              Input Problem:    innermost DP runtime-complexity with respect to
                Strict Rules: {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
                Weak Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
              
              Details:         
                'sequentially if-then-else, sequentially'
                -----------------------------------------
                Answer:           YES(?,O(n^1))
                Input Problem:    innermost DP runtime-complexity with respect to
                  Strict Rules: {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
                  Weak Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
                
                Details:         
                  'if Check whether the TRS is strict trs contains single rule then fastest else fastest'
                  ---------------------------------------------------------------------------------------
                  Answer:           YES(?,O(n^1))
                  Input Problem:    innermost DP runtime-complexity with respect to
                    Strict Rules: {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
                    Weak Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
                  
                  Details:         
                    a) We first check the conditional [Success]:
                       We are considering a strict trs contains single rule TRS.
                    
                    b) We continue with the then-branch:
                       The problem was solved by processor 'fastest of 'Matrix Interpretation', 'Matrix Interpretation', 'Matrix Interpretation'':
                       'fastest of 'Matrix Interpretation', 'Matrix Interpretation', 'Matrix Interpretation''
                       --------------------------------------------------------------------------------------
                       Answer:           YES(?,O(n^1))
                       Input Problem:    innermost DP runtime-complexity with respect to
                         Strict Rules: {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
                         Weak Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
                       
                       Details:         
                         The problem was solved by processor 'Matrix Interpretation':
                         'Matrix Interpretation'
                         -----------------------
                         Answer:           YES(?,O(n^1))
                         Input Problem:    innermost DP runtime-complexity with respect to
                           Strict Rules: {r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))}
                           Weak Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
                         
                         Details:         
                           Interpretation Functions:
                            rev(x1) = [0] x1 + [0]
                            r1(x1, x2) = [0] x1 + [0] x2 + [0]
                            empty() = [1]
                            cons(x1, x2) = [0] x1 + [1] x2 + [6]
                            rev^#(x1) = [6] x1 + [7]
                            c_0(x1) = [1] x1 + [0]
                            r1^#(x1, x2) = [4] x1 + [3] x2 + [4]
                            c_1() = [0]
                            c_2(x1) = [1] x1 + [5]
      
   2) {  rev^#(ls) -> c_0(r1^#(ls, empty()))
       , r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))
       , r1^#(empty(), a) -> c_1()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           rev(x1) = [0] x1 + [0]
           r1(x1, x2) = [0] x1 + [0] x2 + [0]
           empty() = [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           rev^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           r1^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {r1^#(empty(), a) -> c_1()}
            Weak Rules:
              {  r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))
               , rev^#(ls) -> c_0(r1^#(ls, empty()))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {r1^#(empty(), a) -> c_1()}
            and weakly orienting the rules
            {  r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))
             , rev^#(ls) -> c_0(r1^#(ls, empty()))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {r1^#(empty(), a) -> c_1()}
              
              Details:
                 Interpretation Functions:
                  rev(x1) = [0] x1 + [0]
                  r1(x1, x2) = [0] x1 + [0] x2 + [0]
                  empty() = [0]
                  cons(x1, x2) = [1] x1 + [1] x2 + [0]
                  rev^#(x1) = [1] x1 + [8]
                  c_0(x1) = [1] x1 + [3]
                  r1^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_1() = [0]
                  c_2(x1) = [1] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules:
                {  r1^#(empty(), a) -> c_1()
                 , r1^#(cons(x, k), a) -> c_2(r1^#(k, cons(x, a)))
                 , rev^#(ls) -> c_0(r1^#(ls, empty()))}
            
            Details:         
              The given problem does not contain any strict rules
      
   3) {  rev^#(ls) -> c_0(r1^#(ls, empty()))
       , r1^#(empty(), a) -> c_1()}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           rev(x1) = [0] x1 + [0]
           r1(x1, x2) = [0] x1 + [0] x2 + [0]
           empty() = [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           rev^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           r1^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {r1^#(empty(), a) -> c_1()}
            Weak Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {r1^#(empty(), a) -> c_1()}
            and weakly orienting the rules
            {rev^#(ls) -> c_0(r1^#(ls, empty()))}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {r1^#(empty(), a) -> c_1()}
              
              Details:
                 Interpretation Functions:
                  rev(x1) = [0] x1 + [0]
                  r1(x1, x2) = [0] x1 + [0] x2 + [0]
                  empty() = [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  rev^#(x1) = [1] x1 + [8]
                  c_0(x1) = [1] x1 + [0]
                  r1^#(x1, x2) = [1] x1 + [1] x2 + [1]
                  c_1() = [0]
                  c_2(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules:
                {  r1^#(empty(), a) -> c_1()
                 , rev^#(ls) -> c_0(r1^#(ls, empty()))}
            
            Details:         
              The given problem does not contain any strict rules
      
   4) {rev^#(ls) -> c_0(r1^#(ls, empty()))}
      
      The usable rules for this path are empty.
      
        We have oriented the usable rules with the following strongly linear interpretation:
          Interpretation Functions:
           rev(x1) = [0] x1 + [0]
           r1(x1, x2) = [0] x1 + [0] x2 + [0]
           empty() = [0]
           cons(x1, x2) = [0] x1 + [0] x2 + [0]
           rev^#(x1) = [0] x1 + [0]
           c_0(x1) = [0] x1 + [0]
           r1^#(x1, x2) = [0] x1 + [0] x2 + [0]
           c_1() = [0]
           c_2(x1) = [0] x1 + [0]
        
        We have applied the subprocessor on the resulting DP-problem:
        
          'Weight Gap Principle'
          ----------------------
          Answer:           YES(?,O(n^1))
          Input Problem:    innermost DP runtime-complexity with respect to
            Strict Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
            Weak Rules: {}
          
          Details:         
            We apply the weight gap principle, strictly orienting the rules
            {rev^#(ls) -> c_0(r1^#(ls, empty()))}
            and weakly orienting the rules
            {}
            using the following strongly linear interpretation:
              Processor 'Matrix Interpretation' oriented the following rules strictly:
              
              {rev^#(ls) -> c_0(r1^#(ls, empty()))}
              
              Details:
                 Interpretation Functions:
                  rev(x1) = [0] x1 + [0]
                  r1(x1, x2) = [0] x1 + [0] x2 + [0]
                  empty() = [0]
                  cons(x1, x2) = [0] x1 + [0] x2 + [0]
                  rev^#(x1) = [1] x1 + [8]
                  c_0(x1) = [1] x1 + [1]
                  r1^#(x1, x2) = [1] x1 + [1] x2 + [0]
                  c_1() = [0]
                  c_2(x1) = [0] x1 + [0]
              
            Finally we apply the subprocessor
            'Empty TRS'
            -----------
            Answer:           YES(?,O(1))
            Input Problem:    innermost DP runtime-complexity with respect to
              Strict Rules: {}
              Weak Rules: {rev^#(ls) -> c_0(r1^#(ls, empty()))}
            
            Details:         
              The given problem does not contain any strict rules